【Security Hub修復手順】[ ElastiCache.6 ] バージョン 6.0 より前の Redis レプリケーション グループ用 ElastiCache では、Redis AUTH を使用する必要があります

【Security Hub修復手順】[ ElastiCache.6 ] バージョン 6.0 より前の Redis レプリケーション グループ用 ElastiCache では、Redis AUTH を使用する必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
Clock Icon2024.08.21

こんにちは!AWS事業本部のおつまみです。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。

本記事の対象コントロール

[ ElastiCache.6 ] バージョン 6.0 より前の Redis レプリケーション グループ用 ElastiCache では、Redis AUTH を使用する必要があります

[ ElastiCache.6 ] ElastiCache (Redis OSS) replication groups of earlier Redis versions should have Redis AUTH enabled

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hubの詳細についてはこちらのブログをご覧ください。

https://dev.classmethod.jp/articles/lets-learn-aws-security-hub/

https://dev.classmethod.jp/articles/aws-security-operation-with-securityhub-2021/

対象コントロールの説明

このコントロールは、 ElastiCache (Redis OSS) レプリケーショングループで Redis AUTHが有効になっているか どうかを確認します。Redis バージョンのノードが 6.0 未満でAuthToken使用されていない場合、 ElastiCache (Redis OSS) レプリケーショングループのコントロールは失敗します。

Redis AUTHを使用することで、ユーザーにトークン (パスワード) の入力を要求できるため、セキュリティが向上します。
機密性の高いデータを Redis で保持する場合 は設定を推奨します。設定する際は、合わせて定期的なキーのローテーションを行うとよりセキュアになります。

一方セキュリティグループ等の設定により外部の脅威に対する防御ができている場合や、機密性の高いデータが含まれていない開発環境では無効化にしても問題ないです。

参考:

https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/auth.html

https://dev.classmethod.jp/articles/elasticache-support-modifying-authentication-tokens

修復手順

1. 対象のリソースの確認方法

  1. AWSマネージメントコンソールにログインし、AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「ElastiCache.6」を検索し、タイトルを選択します。
    DBEA6D26-950D-43F3-942F-FB79950DBAB6.png

  2. リソースの欄から失敗しているリソースを確認できます。
    8F1AEC4C-CCF8-4D84-9D52-76CB23E571DC.png

2. ステークホルダーに確認

  1. ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。
  • Redis AUTH を有効にしてよいか
    • 機密性の高いデータを保持している場合、設定を変更します。
    • 問題がある場合、およびセキュリティグループ等の設定により外部の脅威に対する防御ができている場合や、機密性の高いデータが含まれていない開発環境では、Security Hubの失敗箇所を抑制済みにします。

3. アクセスコントロールの変更

  1. 対象のリソースに対して、[変更]を選択します。
    BC14834C-B002-418A-8456-348933AAB67E.png

  2. セキュリティから、[アクセスコントロール]がアクセスコントロールがありませんとなっていることを確認します。
    D6303244-6A12-43CB-8073-EF53695333BB.png

  3. [アクセスコントロール]で以下を設定します。なお転送中の暗号化必須に設定されていないとトークンを設定できないため注意して下さい。
    1CC87291-82A0-4425-BC10-092BD6A27B23.png

  • アクセスコントロール:Redis認証デフォルトユーザーアクセス
  • Redis AUTH トークン戦略:トークンをローテーション
  • Redis 認証トークン:16~128文字以内の任意の値を入力
  1. [変更の概要]でアクセスコントロールのみ変更になっていることを確認し、[変更をスケジュール]で任意のタイミングを選択し、[変更]を選択します。
    56F3402D-BE38-4E41-AF3E-1FFACB106CFD.png

※変更時にクラスターの再起動が発生するため、ご注意下さい。

  1. クラスターが使用可能になったのを確認してから、再度[変更]画面のセキュリティから、[アクセスコントロール]で以下を設定します。
    FA3AD6CA-9CD4-455D-A08B-78668367D95F.png
  • アクセスコントロール:Redis認証デフォルトユーザーアクセス
  • Redis AUTH トークン戦略:トークンを設定
  • Redis 認証トークン:ローション時に指定した値と同じ値を入力
  1. [変更の概要]でRedis AUTH トークン戦略のみ変更になっていることを確認し、[変更をスケジュール]で任意のタイミングを選択し、[変更]を選択します。
    D43B9D90-0555-45BD-AF80-5F4D739E3CE7.png

※変更時にクラスターの再起動が発生するため、ご注意下さい。

7.適用後、トークンが設定されたか確認しましょう。ElasticCacheに接続できるEC2インスタンスなどでredis-cliを用いて、接続を確認します。

redis-cli -h ${HOSTNAME} --tls -p 6379
${HOSTNAME}:6379> auth <設定したRedis AUTHのトークン>
OK

OKが表示されれば、設定したトークンで問題なく接続できたことになります。

  1. SecurityHubにて、失敗しているリソースが0になっていること及びステータスが[成功]になっていることを確認します。 ※リソースの更新には数分、ステータスの更新には1日程度かかります。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、おつまみ(@AWS11077)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.